# -*- coding: utf-8 -*-

"""
    (c) 2020 - Copyright ...
    
    Authors:
        zPlus <zplus@peers.community>
"""

# This plugin uses rdflib to work with RDF objects. Where should the plugin
# store the graph?
# Accepted values:
#     berkeleydb    Persist graph with Berkeley DB
#     sqlalchemy    Persist graph with SQLAlchemy
# TODO Add support for using an existing SPARQL server. rdflib.plugins.stores.sparqlstore.SPARQLUpdateStore
STORAGE = 'sqlalchemy'

# Use 4 slashes for an absolute URL
# https://docs.sqlalchemy.org/en/13/dialects/sqlite.html#dialect-sqlite-pysqlite-connect
# 
# STORAGE_PATH = '/home/git/pagure_local/forgefed_graph.berkeleydb'
STORAGE_PATH = 'sqlite:////home/git/pagure_local/forgefed_graph.sqlite'

# How many items to show for collections, eg. as:followers and as:inbox. If a
# collection contains more than COLLECTION_SIZE it will be paginated.
COLLECTION_SIZE = 100

# Actors use RSA keys to sign HTTP POST requests. These keys are automatically
# created for actors.
HTTP_SIGNATURE_KEY_BITS = 2048

# When an Activity is sent to a remote object, that object can be an Actor or a
# Collection containing other objects. Because a Collection can contain another
# Collection, we could get stuck into sending activities to followers of
# followers of followers... This option sets the maximum number of indirections
# that we follow when sending an Activity.
# https://www.w3.org/TR/activitypub/#delivery
# 
# Examples:
#     0 = Send only to actual actors, do not search any Collection
#     1 = Send to actors and immediate Collections only (eg. as:followers). If
#         as:followers contains another Collection, the latter won't be searched.
DELIVERY_DEPTH = 1

# The plugin makes use of the Python logging module. This variable sets the
# level of logging that should be produced. A log level is essentially a
# natural number. The logs with a value greater than or equal to LOG_LEVEL will
# be printed, all the others will be ignored.
# https://docs.python.org/3/library/logging.html#levels
import logging
LOG_LEVEL=logging.DEBUG

# This is required during plugin initialization to find the pagure templates
# folder.
# It is also required for the "tasks" package. When the celery task is started
# from the command line, it does not know where the pagure folder is because
# it's a standalone process.
PAGURE_PATH='/home/git/pagure'
